The present invention relates in general to digital filters and in particular to a programmable, multiple stage digital filter.
A digital filter typically produces an output data sequence wherein each element thereof is a function of one or more elements of an input data sequence. A variety of digital filter types are known. A low pass digital filter removes high frequency oscillations in the magnitude of elements of the input data sequence. A "decimation" filter produces an output data sequence having fewer elements than its input data sequence, while an "interpolation" filter produces an output data sequence having more elements than its input data sequence. Decimation filters are useful when an input data sequence has more elements than needed to convey information concerning some time varying phenomena. In such application, a decimation filter can reduce the number of elements in the sequence so that data can be more rapidly processed or more compactly stored. Interpolation filters are used, for example, to increase the number of elements in a data sequence to be converted into an analog signal because the additional sequence elements can help smooth the resulting analog signal.
Digital filters are often cascaded to produce a desired effect. For example, a low pass digital filter may be efficiently implemented by a cascade of decimation filters followed by a cascade of interpolation filters. (See L. R. Rabiner, "A Novel Implementation for Narrow Band FIR Digital Filters", IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol. ASSP-23, No. 5, October, 1975.)
A digital computer could carry out the computational operations of a single digital filter, or a cascade of digital filters, but in high speed applications a digital computer is often too slow to provide suitably rapid response. Thus, digital filters are typically implemented utilizing discrete hardware components designed to quickly perform specific computational operations. While cascades of hardware implemented digital filters have fast response, they are usually expensive to manufacture and must be custom designed for each application.